#include <REGX52.H>
#include <intrins.h>

void Delay100ms(void)	//@12.000MHz
{
	unsigned char data i, j, k;

	_nop_();
	_nop_();
	i = 5;
	j = 144;
	k = 71;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void LED3()  
{
	  int i=0;
		for(i=0;i<8;i++)
		{
			P0=_crol_(0x01,i);
			Delay100ms();
		}
		for(i=1;i<7;i++)
		{
			P0=_cror_(0x80,i);
			Delay100ms();
		}
}

void LED2()
{
	int i=0;
	for(i=0;i<8;i++)
	{
		P2=0xf0;
		Delay100ms();
		P2=0x0f;
		Delay100ms();
	}
}

void LED1()
{
	int i=0;
	for(i=0;i<8;i++)
	{
		P1=0xff;
		Delay100ms();
		P1=0x00;
		Delay100ms();
	}
}

int main()
{
//	EX0=1; 
//	IT0=1; 
//	EX1=1; 
//	IT1=1;
//	PX1=1;
//	EA=1;
//	P3=0xff;
	TCON=0x0a;
	IE=0x85;
	//IP=0x04;
	PX1=1;
	while(1)
	{
		LED3();
	}
}
void INT0UA0(void) interrupt 0
{
	LED1();
}
void INT1A1(void) interrupt 2
{
	LED2();
}